﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ControlStock.Dominio;
using ControlStock.Repositorio;

namespace ControlStock.Servicio
{
    public class ArticuloServicio
    {
        MovimientoServicio movimiento;
        public ArticuloServicio()
        {
            movimiento = new MovimientoServicio();
        }

        public void AgregarArt(string Descripcion, Double Precio, TipoArticulo tipo, int Cantidad, int idDeposito,string tipousu)
        {
            Articulos nuevoart = new Articulos();

            nuevoart.Descripcion_Art = Descripcion;
            nuevoart.Precio_Art = Precio;
            nuevoart.Tipo_Art = tipo;
            nuevoart.Estado_Art = true;
            nuevoart.Cantidad_Art = Cantidad;
            DepositoServicio depositoServicio = new DepositoServicio();
            nuevoart.Deposito = depositoServicio.Buscar(idDeposito,tipousu);

            ArticuloRepositorio agregar = new ArticuloRepositorio();
            agregar.Agregar(nuevoart);
            movimiento.Agregar("Nuevo Articulo: " + Descripcion);
        }


        public void ModificarArt(Articulos articulo)
        {
            ArticuloRepositorio modificar = new ArticuloRepositorio();
            modificar.Modificar(articulo);
            movimiento.Agregar("Modificar Articulo: " + articulo.Descripcion_Art);
        }


        public Articulos buscar(int idarticulo,string tipousu)
        {
            ArticuloRepositorio buscar = new ArticuloRepositorio();
            return buscar.Buscar(idarticulo,tipousu);
        }

        
        public List<Articulos> Listar(string tipousu) 
        {
            ArticuloRepositorio listararticulos = new ArticuloRepositorio();
            return listararticulos.Listar(tipousu);
        }

        public List<Articulos> Listar(string articulodescrip,string tipousu)
        {
            ArticuloRepositorio listarxnombre = new ArticuloRepositorio();
            return listarxnombre.Buscardescrip(articulodescrip,tipousu);

        
        }


    }
}
